﻿using Microsoft.AspNetCore.Http;
using SBlogCore.Common.DatabaseAccessor;
using SBlogCore.Entitys.SystemManager;
using SBlogCore.WebAdminApplication.SysManager.Dto;

namespace SBlogCore.WebAdminApplication.SysManager.IServices
{
    public  interface ISysFileInfoService
    {
        /// <summary>
        /// 保存文件
        /// </summary>
        /// <param name="files"></param>
        /// <returns></returns>
        Task<List<SysFileInfoOutPut>> SaveAnyFile(List<IFormFile> files);
        /// <summary>
        /// 保存图片文件
        /// </summary>
        /// <param name="files"></param>
        /// <returns></returns>
        Task<List<SysFileInfoOutPut>> SaveImageFile(List<IFormFile> files);
        /// <summary>
        /// 获取数据列表
        /// </summary>
        /// <param name="inPut"></param>
        /// <returns></returns>
        Task<PageList<SysFileInfo>> GetList(SysFileInfoQueryInPut inPut);

        Task SaveFileMapToData<T>(long dataId, long mapId) where T : IBaseEntity;
        Task DeleteFile(long id);
    }
}
